using System;
using System.Collections.Generic;
using System.Text;
using CookComputing.XmlRpc;
using NMollom.Internal;

namespace NMollom.Internal {
    /// <summary>
    /// This is the proxy interface that the XmlRpc library uses to
    /// create it's actual proxy class. All Mollom public interface methods
    /// are defined on this class.
    /// </summary>
    [XmlRpcUrl("http://xmlrpc.mollom.com/1.0")]
    public interface IMollomProxy : IXmlRpcProxy {
        [XmlRpcMethod("mollom.getServerList")]
        string[] GetServerList(Params p);

        [XmlRpcMethod("mollom.verifyKey")]
        bool VerifyKey(Params p);

        [XmlRpcMethod("mollom.checkContent")]
        ContentCheckResult CheckContent(CheckContentParams p);

        [XmlRpcMethod("mollom.sendFeedback")]
        bool SendFeedback(SendFeedbackParams p);

        [XmlRpcMethod("mollom.getImageCaptcha")]
        CaptchaResult GetImageCaptcha(GetCaptchaParams p);

        [XmlRpcMethod("mollom.getAudioCaptcha")]
        CaptchaResult GetAudioCaptcha(GetCaptchaParams p);

        [XmlRpcMethod("mollom.checkCaptcha")]
        bool CheckCaptcha(CheckCaptchaParams p);

        [XmlRpcMethod("mollom.getStatistics")]
        int GetStatistics(GetStatisticsParams p);
    }
}